home *** CD-ROM | disk | FTP | other *** search
/ Universo PC 1 / Users Dr. Max Universo PC #1.iso / Software / Internet / FreeDownloadManager21 / FreeDownloadManager21.exe / {app} / Firefox / extension / chrome / content / fdm_ffextDM.js < prev    next >
Encoding:
Text File  |  2006-08-04  |  1.9 KB  |  54 lines

  1. var fdm_FDM = Components.classes["@freedownloadmanager.org/FDMForFirefox;1"].createInstance ();
  2. fdm_FDM = fdm_FDM.QueryInterface (Components.interfaces.IFDMForFirefox);
  3.  
  4. window.addEventListener("load",  fdm_DM_load, false);
  5.  
  6. function fdm_extractPostData(channel) 
  7. {
  8.     if(channel instanceof Components.interfaces.nsIUploadChannel &&
  9.        channel.uploadStream instanceof Components.interfaces.nsISeekableStream) {
  10.       try {
  11.         channel.uploadStream.seek(0,0);
  12.         const sis=Components.classes[
  13.           '@mozilla.org/scriptableinputstream;1'].createInstance(
  14.           Components.interfaces.nsIScriptableInputStream);
  15.         sis.init(channel.uploadStream);
  16.         var postData=sis.read(sis.available()).replace(/\s$/,'').split(/[\r\n]/);
  17.         return postData[postData.length-1];
  18.       } catch(ex) {
  19.       } finally {
  20.          sis.close();
  21.       }
  22.     }
  23.     return null;
  24. }
  25.  
  26. function fdm_DM_load (ev)
  27. {
  28.   var url = Components.classes["@freedownloadmanager.org/FDMUrl;1"].createInstance ();
  29.   url = url.QueryInterface (Components.interfaces.IFDMUrl);
  30.   url.Url = dialog.mLauncher.source.spec;
  31.  
  32.   if (fdm_FDM.IsLinkShouldBeSkipped (url, dialog.mLauncher.suggestedFileName)) 
  33.     return;
  34.  
  35.   try {
  36.     var doc = dialog.mContext.QueryInterface(Components.interfaces.nsIWebNavigation).document;
  37.     url.Referer = doc.URL;
  38.     url.Cookies = doc.cookie;
  39.   } catch(err) {}
  40.  
  41.   var fdm_Ext = Components.classes["@freedownloadmanager.org/FDMFirefoxExtension;1"].createInstance ();
  42.   fdm_Ext = fdm_Ext.QueryInterface (Components.interfaces.IFDMFirefoxExtension);
  43.  
  44.   var lastPost = fdm_Ext.LastPost;
  45.   if (lastPost != null)
  46.   {
  47.     lastPost = lastPost.QueryInterface (Components.interfaces.nsIHttpChannel)
  48.     if (lastPost.isPending () && url.Url == lastPost.URI.spec)
  49.       url.PostData = fdm_extractPostData (lastPost);
  50.   }
  51.  
  52.   if (fdm_FDM.CatchLink (url, dialog.mLauncher.suggestedFileName))
  53.     document.documentElement.cancelDialog();
  54. }